Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Sprawdzenie zawartości hashmapy - Java Bukkit


Rekomendowane odpowiedzi

Opublikowano

Witam piszę plugina na monety, które dostaje się za zabicie gracza i można za nie kupować itemki. I tu mam problem, jak napisać by sprawdzało ilość monet w hashmapie

 

Mój kodzik:

        HashMap <String, Integer> gc = new HashMap<String, Integer>();
    int SprHajs;
@EventHandler
    public void onPlayerLogin(final PlayerLoginEvent e) {
        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
            public void run() {
                if (e.getPlayer().hasPlayedBefore()) return;
                gc.put(e.getPlayer().getName(), 100);
                
Firework f = (Firework) e.getPlayer().getWorld().spawn(e.getPlayer().getLocation(), Firework.class);

FireworkMeta fm = f.getFireworkMeta();
fm.addEffect(FireworkEffect.builder()
.flicker(false)
.trail(true)
.with(Type.CREEPER)
.withColor(org.bukkit.Color.RED)
.build());
fm.setPower(75);
f.setFireworkMeta(fm);
Bukkit.broadcastMessage(ChatColor.BLUE +"Witamy nowego gracza " + ChatColor.GRAY + ChatColor.BOLD + e.getPlayer().getName() + ChatColor.BLUE + " na " + ChatColor.GOLD + ChatColor.BOLD + "Gold" + ChatColor.DARK_RED + "" + ChatColor.BOLD + "PvP");
            }
        }, 20);
    }
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    Player player = (Player)sender;

    if(label.equalsIgnoreCase("gc")) {
        if(gc.containsKey(player.getName())) {
            SprHajs = gc.get(player.getName());
            player.sendMessage("§8[§6§lGold§4§lPvP§8]" + ChatColor.GREEN + "Posiadasz obecnie: " + ChatColor.DARK_GREEN + ChatColor.BOLD + SprHajs + ChatColor.GOLD + " Gold" + ChatColor.YELLOW + "Coinsow");
            SprHajs = 0;
        }
    } 

I teraz chciałbym aby po wpisaniu komendy /sklep sprawdzało czy ma dajmy na to na przykład 1000 monet, jeśli tak to coś tam się dzieje

    else if(label.equalsIgnoreCase("sklep")) {

CO DALEJ ? 
        
    }

 

Z góry dzięki za pomoc :)

Opublikowano
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    Player player = (Player)sender;

    if(label.equalsIgnoreCase("gc")) {
        if(gc.containsKey(player.getName())) {
            SprHajs = gc.get(player.getName());
            player.sendMessage("§8[§6§lGold§4§lPvP§8]" + ChatColor.GREEN + "Posiadasz obecnie: " + ChatColor.DARK_GREEN + ChatColor.BOLD + SprHajs + ChatColor.GOLD + " Gold" + ChatColor.YELLOW + "Coinsow");
            SprHajs = 0;
        }
    } 

Po 1... dlaczego SprHajs jest z wielkiej litery? jakim prawem?

 

po 2... dlaczego jest zmienną globalna... powinna być tylko w metodzie onCommad.

 

po 3... Mapka powinna być statyczna (chyba że o czymś nie wiem)

 

po 4... tam w co dalej po prsotu pobierasz int z hashMapy i robisz co chcesz?

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...